An increasing amount of information is being made available for access using computers. In addition to the amount of data available, the format of information is moving from purely text-based to multimedia-based, requiring still more data to express the information. Much of this information can be accessed through the internet. Other information is available through private networks or by direct connection to a data supplier.
One difficulty with networks such as the internet is the unpredictability of data transfer rates. Data throughput is often limited to a greater extent by the network than by the requester and the supplier. Since paths through the internet are connectionless, the data transfer performance is not known with any certainty, may fluctuate wildly, and cannot be guaranteed to meet any specified performance level.
Another difficulty is the serial nature of handling multiple tasks. A user must wait for the completion of data transfer for a current task before initiating another task. For example, consider a user attempting to download information from multiple internet sites. The second connection, request for data, and data transfer cannot be initiated or completed until the data from the first request has been received. Likewise, third and subsequent accesses must be sequential.
A further difficulty is the generally low rate of data transfer, forcing a user of a requesting computer system to wait several seconds to several minutes for an amount of data sufficient to permit the user to begin interpreting the data. Typically, a modem is used to transfer data over a telecommunication network. A modem for a conventional analog telephone line limits data rates to at most 56 Kb/s under current technology. Alternate technologies, such as ISDN, ADSL, and cable modems provide increased data rates but are expensive and are not available in many locations.
To increase data rates in locations with more than one analog phone line, the data may be disassembled into multiple streams and sent concurrently over several modems. In this case, similar resources are used. However, there may also be a mixture of resources such as analog phone lines, ISDN, ADSL, cable modems, and the like available during pauses in their primary application work stream. As in the multiple analog telephone line case, these temporarily available dissimilar resources have the potential of being shared to increase communications performance. In all cases, the receiver must have the same number of modems available and must be able to reassemble the data into its original sequence. These techniques are known as inverse multiplexing and modem striping. One problem with such techniques is that both the requester and the responder must have compatible equipment. Another problem is that dynamic allocation of communication resources based on factors such as changing resource supply and demand is not supported. Yet another problem that automatic establishment of control and data paths is not supported.
What is needed is the ability to demand temporary use of data communication resources to ensure specific, predictable data transfer performance.